This document analyses the self-developed scheduler component in Android-based mobile devices as part of the SyMptOMS project.
To create the PDF of the computational notebook you can run the following commands in a new R session. If you have problems rendering the PDF you can execute each chunk independently in RStudio.
This document does not install the required R packages by default. You can run the script install.R to install all required dependencies on a new R installation, or use install.packages(..) to install missing R packages.
The plots and tables use the packages ggplot2, knitr::kable() and kableExtra.
Required libraries and runtime environment description are as follows.
library(tidyverse)
library(kableExtra)
library(here)
library(googledrive)
library(lubridate)
library(stringr)
library(scales)
library(plotly)
library(grid)
library(gridBase)
library(gridExtra)
Key Variables:
quantitative (interval)
plan_date (datetime): task planning time.exec_date (datetime): task execution time.quantitative (ratio)
delay (numeric): execution delay in seconds ((exec_date - plan_date) - 60).categorital (ordinal)
battery(numeric): battery levelcategorical (nominal)
device_id/device_name: device identifier/nameexp_id: experiment identifier.scheduler: scheduler type.Observations
| exp_id | scheduler | device_name | # observations | start datetime | end_datetime | mean delay | sd | mean - 2sd | mean + 2sd |
|---|---|---|---|---|---|---|---|---|---|
| #1 | Advanced | BQ Aquaris V | 21391 | 2020-03-30 12:15:03 | 2020-04-14 13:07:57 | 0.638 | 2.168 | -3.698 | 4.974 |
| #1 | Advanced | Nvidia Shield Tablet | 21453 | 2020-03-30 12:15:03 | 2020-04-14 13:08:14 | 0.638 | 2.169 | -3.700 | 4.976 |
| #1 | Advanced | Xiaomi Mi A1 | 21465 | 2020-03-30 12:23:27 | 2020-04-14 13:07:50 | 0.463 | 3.214 | -5.965 | 6.891 |
| #1 | Basic | Honor 9 | 21574 | 2020-03-30 12:00:03 | 2020-04-14 13:01:35 | 0.386 | 2.685 | -4.984 | 5.756 |
| #1 | Basic | Motorola Moto G | 21619 | 2020-03-30 12:00:07 | 2020-04-14 13:01:16 | 1.117 | 2.906 | -4.695 | 6.929 |
| #2 | Advanced | Honor 9 | 11487 | 2020-04-15 11:00:02 | 2020-04-23 11:58:27 | 0.386 | 2.685 | -4.984 | 5.756 |
| #2 | Advanced | Motorola Moto G | 9929 | 2020-04-16 12:09:53 | 2020-04-23 11:59:08 | 1.117 | 2.906 | -4.695 | 6.929 |
| #2 | Basic | BQ Aquaris V | 11506 | 2020-04-15 11:16:26 | 2020-04-23 12:10:01 | 0.638 | 2.168 | -3.698 | 4.974 |
| #2 | Basic | Nvidia Shield Tablet | 3528 | 2020-04-15 11:16:18 | 2020-04-17 22:27:06 | 0.638 | 2.169 | -3.700 | 4.976 |
| #2 | Basic | Xiaomi Mi A1 | 10832 | 2020-04-15 11:16:23 | 2020-04-23 00:52:00 | 0.463 | 3.214 | -5.965 | 6.891 |
Observations:
1.7% (2.610/154.784) of outliers. Outlier breakdown below.
Basic - Nvidia Shield Tablet does not show outliers!
uneven distrintio of outliers per device!
| scheduler | device_name | # outliers |
|---|---|---|
| Advanced | BQ Aquaris V | 65 |
| Basic | BQ Aquaris V | 2 |
| Advanced | Honor 9 | 97 |
| Basic | Honor 9 | 5 |
| Advanced | Motorola Moto G | 980 |
| Basic | Motorola Moto G | 1013 |
| Advanced | Nvidia Shield Tablet | 231 |
| Advanced | Xiaomi Mi A1 | 210 |
| Basic | Xiaomi Mi A1 | 7 |
delay over plan_dateSee the shiny app!
delay over battery (without outliers)Basic statistics applied to delay and device_name. Given a device, how do the box plots change on each scheduler?
## This version of Shiny is designed to work with 'htmlwidgets' >= 1.5.
## Please upgrade via install.packages('htmlwidgets').
## Warning in RColorBrewer::brewer.pal(N, "Set2"): minimal value for n is 3, returning requested palette with 3 different levels
## Warning in RColorBrewer::brewer.pal(N, "Set2"): minimal value for n is 3, returning requested palette with 3 different levels